/*
 * tasksendudp.c
 *  该模块用于uart上报电机状态
 *  Created on: 2025.6.26
 *      Author: TracyHenry
 */
#include "tasksendudp.h"
#include <stdio.h>
#include "com.h"

SemaphoreHandle_t xSendUdpTaskSem;
static uint8_t flag_set_udp_send = 0;
/******************************************************************************
 * FunctionName : mySendUdpTask
 * Description  : 通过uart发送给wifi模块然后转udp协议透传上报
 * Parameters   : void
 * Returns      : void
*******************************************************************************/
void mySendUdpTask(const void * paramter)
{

    xSendUdpTaskSem = xSemaphoreCreateBinary();

    for (;;)
    {
        /* code */
        if(flag_set_udp_send == 1)
        {
            flag_set_udp_send = 2;
            getRelayStatus();
        }
        else if(flag_set_udp_send == 2)
        {
            flag_set_udp_send = 0;
            getRelayStatus();
        }
        else if(xSemaphoreTake(xSendUdpTaskSem, portMAX_DELAY) == pdPASS && flag_set_udp_send == 0)
        {
            flag_set_udp_send = 1;
            getRelayStatus();
            printf("flag_set_udp_send = 1\n");

        }
            osDelay(200);
    }
    
}
